package com.ruoyi.system.service;

import java.util.List;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.system.domain.MaterialInventory;
import com.ruoyi.system.response.MaterialInventoryList;

/**
 * 物料库存Service接口
 *
 * @author tanshen
 * @date 2023-08-21
 */
public interface IMaterialInventoryService extends IService<MaterialInventory> {
    /**
     * 查询物料库存
     *
     * @param id 物料库存主键
     * @return 物料库存
     */
    public MaterialInventory selectMaterialInventoryById(Long id);

    /**
     * 查询物料库存列表
     *
     * @param materialInventory 物料库存
     * @return 物料库存集合
     */
    public List<MaterialInventoryList> selectMaterialInventoryList(MaterialInventory materialInventory);

    /**
     * 新增物料库存
     *
     * @param materialInventory 物料库存
     * @return 结果
     */
    public int insertMaterialInventory(MaterialInventory materialInventory);

    /**
     * 修改物料库存
     *
     * @param materialInventory 物料库存
     * @return 结果
     */
    public int updateMaterialInventory(MaterialInventory materialInventory);

    /**
     * 批量删除物料库存
     *
     * @param ids 需要删除的物料库存主键集合
     * @return 结果
     */
    public int deleteMaterialInventoryByIds(String ids);

    /**
     * 删除物料库存信息
     *
     * @param id 物料库存主键
     * @return 结果
     */
    public int deleteMaterialInventoryById(Long id);

    /**
     * 根据物料编码查询库存详情列表
     *
     * @param materialId
     * @return
     */
    List<MaterialInventory> selectByMaterialId(String materialId, Long supplierId);

}
